home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-29 | 2.8 KB | 129 lines | [TEXT/CWIE] |
- unit MyInternetMenu;
-
- interface
-
- uses
- Types;
-
- procedure InitInternetMenu;
- procedure FinishInternetMenu;
- procedure AddInternetCommand (s: Str255);
- function GetInternetCommand (themenu, theitem: integer): Str255;
- procedure RemoveInternetCommand (themenu, theitem: integer);
-
- implementation
-
- uses
- AppGlobals, MyUtils, MyNewPreferences, MyFMenus, MyMenus, MyStrH, MyGrowZones;
-
- var
- send_to_mh, remove_mh: MenuHandle;
- modified: boolean;
-
- procedure AddInternetCommand (s: Str255);
- var
- i, c: integer;
- lessthan: boolean;
- mi: Str255;
- begin
- c := CountMItems(send_to_mh);
- i := 1;
- lessthan := false;
- while (i <= c) and not lessthan do begin
- GetMenuItemText(send_to_mh, i, mi);
- lessthan := (s <= mi);
- if not lessthan then
- i := i + 1;
- end;
- if not lessthan or (s <> mi) then begin
- InsertMenuItem(send_to_mh, 'fred', i - 1);
- InsertMenuItem(remove_mh, 'fred', i - 1);
- SetMenuItemText(send_to_mh, i, s);
- SetMenuItemText(remove_mh, i, s);
- end;
- modified := true;
- end;
-
- procedure SetInternetMenu (themenu, theitem: integer);
- begin
- SetIDItemEnable(themenu, theitem, EnoughSpace(0, 12000) & (CountMItems(send_to_mh) > 0));
- end;
-
- procedure SetRemoveMenu (themenu, theitem: integer);
- begin
- SetIDItemEnable(themenu, theitem, (CountMItems(send_to_mh) > 0));
- end;
-
- function GetInternetCommand (themenu, theitem: integer): Str255;
- var
- s: Str255;
- begin
- GetMenuItemText(send_to_mh, theitem, s);
- GetInternetCommand := s;
- end;
-
- procedure RemoveInternetCommand (themenu, theitem: integer);
- begin
- DeleteMenuItem(send_to_mh, theitem);
- DeleteMenuItem(remove_mh, theitem);
- modified := true;
- end;
-
- procedure SaveInternetMenu;
- var
- i: integer;
- s: Str255;
- h: StrHHandle;
- begin
- if modified then begin
- h := NewStrH;
- if h <> nil then begin
- for i := 1 to CountMItems(send_to_mh) do begin
- GetMenuItemText(send_to_mh, i, s);
- SetIndStrH(h, i, s);
- end;
- PutResource(Handle(h), to_rsrc, to_strh_id);
- DisposeStrH(h);
- end;
- modified := false;
- end;
- end;
-
- procedure SetSaveMenu (themenu, theitem: integer);
- begin
- SetIDItemEnable(themenu, theitem, modified);
- end;
-
- procedure LoadInternetMenu;
- var
- i: integer;
- s: Str255;
- h: StrHHandle;
- begin
- ReadPrefsHandle(Handle(h), to_rsrc, to_strh_id);
- if h <> nil then begin
- for i := 1 to CountStrsH(h) do begin
- AddInternetCommand(GetIndStrH(h, i));
- end;
- DisposeStrH(h);
- end;
- end;
-
- procedure InitInternetMenu;
- begin
- send_to_mh := NewMenu(M_InternetTo, 'Send To');
- InsertMenu(send_to_mh, -1);
- remove_mh := NewMenu(M_RemoveTo, 'Remove');
- InsertMenu(remove_mh, -1);
- LoadInternetMenu;
- modified := false;
- SetFBoth(CSaveMenu, @SaveInternetMenu, @SetSaveMenu);
- SetFSetMenu(CXInternet, @SetInternetMenu);
- SetFSetMenu(CXRemove, @SetRemoveMenu);
- end;
-
- procedure FinishInternetMenu;
- begin
- end;
-
- end.